package com.dtflys.forest.example.amap.vo;

import com.fasterxml.jackson.annotation.JsonAlias;

import java.util.List;


/**
 * 高德地图: 地理编码信息
 *
 * @author gongjun[dt_flys@hotmail.com]
 * @since 2021-10-19 23:47
 */
public class GeocodeVo {

    /**
     * 结构化地址信息
     * <p>
     * 省份＋城市＋区县＋城镇＋乡村＋街道＋门牌号码
     */
    @JsonAlias("formatted_address")
    private String formattedAddress;

    /**
     * 国家
     * <p>
     * 国内地址默认返回中国
     */
    private String country;

    /**
     * 地址所在的省份名
     * <p>
     * 例如：北京市。此处需要注意的是，中国的四大直辖市也算作省级单位
     */
    private String province;

    /**
     * 地址所在的城市名
     * <p>
     * 例如：北京市
     */
    private String city;

    /**
     * 城市编码
     * <p>
     * 例如：010
     */
    private String citycode;

    /**
     * 地址所在的区
     * <p>
     * 例如：朝阳区
     */
    private String district;

    /**
     * 街道
     * <p>
     * 例如：阜通东大街
     */
    private List<String> street;

    /**
     * 门牌
     * <p>
     * 例如：6号
     */
    private List<String> number;

    /**
     * 区域编码
     * <p>
     * 例如：110101
     */
    private String adcode;

    /**
     * 坐标点 (经度，纬度)
     */
    private String location;

    /**
     * 匹配级别
     * <p>
     * 参见下方的地理编码匹配级别列表
     */
    private String level;

    public String getFormattedAddress() {
        return formattedAddress;
    }

    public void setFormattedAddress(String formattedAddress) {
        this.formattedAddress = formattedAddress;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCitycode() {
        return citycode;
    }

    public void setCitycode(String citycode) {
        this.citycode = citycode;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public List<String> getStreet() {
        return street;
    }

    public void setStreet(List<String> street) {
        this.street = street;
    }

    public List<String> getNumber() {
        return number;
    }

    public void setNumber(List<String> number) {
        this.number = number;
    }

    public String getAdcode() {
        return adcode;
    }

    public void setAdcode(String adcode) {
        this.adcode = adcode;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }
}
